home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / c / unixSyscall / RCS / compatSig.h,v < prev    next >
Text File  |  1992-04-10  |  5KB  |  235 lines

  1. head     1.4;
  2. branch   ;
  3. access   ;
  4. symbols  sprited:1.3.1;
  5. locks    ; strict;
  6. comment  @ * @;
  7.  
  8.  
  9. 1.4
  10. date     92.04.10.14.46.54;  author kupfer;  state Exp;
  11. branches ;
  12. next     1.3;
  13.  
  14. 1.3
  15. date     90.06.26.18.41.20;  author douglis;  state Exp;
  16. branches 1.3.1.1;
  17. next     1.2;
  18.  
  19. 1.2
  20. date     90.02.08.13.44.01;  author ouster;  state Exp;
  21. branches ;
  22. next     1.1;
  23.  
  24. 1.1
  25. date     89.07.20.11.27.08;  author nelson;  state Exp;
  26. branches ;
  27. next     ;
  28.  
  29. 1.3.1.1
  30. date     92.03.09.16.40.51;  author kupfer;  state Exp;
  31. branches ;
  32. next     ;
  33.  
  34.  
  35. desc
  36. @@
  37.  
  38.  
  39. 1.4
  40. log
  41. @Use names instead of numbers for UNIX-specific signals.
  42. @
  43. text
  44. @/*
  45.  * compatSig.h --
  46.  *
  47.  *    Declarations of mapping tables between Sprite and UNIX signals.
  48.  *    This used to be compatSig.c but now it shared between kernel and
  49.  *    user compatibility libraries.
  50.  *
  51.  * Copyright 1986, 1988 Regents of the University of California
  52.  * Permission to use, copy, modify, and distribute this
  53.  * software and its documentation for any purpose and without
  54.  * fee is hereby granted, provided that the above copyright
  55.  * notice appear in all copies.  The University of California
  56.  * makes no representations about the suitability of this
  57.  * software for any purpose.  It is provided "as is" without
  58.  * express or implied warranty.
  59.  *
  60.  * $Header: proto.h,v 1.3 86/02/14 09:47:40 ouster Exp $ SPRITE (Berkeley)
  61.  */
  62.  
  63. #ifndef _COMPATSIG
  64. #define _COMPATSIG
  65.  
  66. #include <sprite.h>
  67.  
  68. /*
  69.  * Define the mapping between Unix and Sprite signals. There are two arrays,
  70.  * one to go from Unix to Sprite and one to go from Sprite to Unix.
  71.  *
  72.  * Note that the signals SIGIOT and SIGEMT that people don't usually
  73.  * send from the keyboard and that tend not to be delivered by the
  74.  * kernel but, rather, are used for IPC have been mapped to user-defined
  75.  * signal numbers, rather than a standard Sprite signal. This allows more
  76.  * of a one-to-one mapping.
  77.  */
  78.  
  79. /*
  80.  * Map Unix signals to Sprite signals.
  81.  */
  82. int compat_UnixSigToSprite[] = {
  83.             NULL,
  84.      /* SIGHUP */    SIG_INTERRUPT,
  85.      /* SIGINT */    SIG_INTERRUPT,
  86.      /* SIGDEBUG */    SIG_DEBUG,    
  87.      /* SIGILL */    SIG_ILL_INST,
  88.      /* SIGTRAP */    SIG_DEBUG,
  89.      /* SIGIOT */    SIG_IOT,
  90.      /* SIGEMT */    SIG_EMT,
  91.      /* SIGFPE */    SIG_ARITH_FAULT,
  92.      /* SIGKILL */    SIG_KILL,
  93.      /* SIGMIG */    SIG_MIGRATE_TRAP,
  94.      /* SIGSEGV */    SIG_ADDR_FAULT,
  95.      /* SIGSYS */    NULL,
  96.      /* SIGPIPE */    SIG_PIPE,
  97.      /* SIGALRM */    SIG_TIMER,
  98.      /* SIGTERM */    SIG_TERM,
  99.      /* SIGURG */    SIG_URGENT,
  100.      /* SIGSTOP */    SIG_SUSPEND,
  101.      /* SIGTSTP */    SIG_TTY_SUSPEND,
  102.      /* SIGCONT */    SIG_RESUME,
  103.      /* SIGCHLD */    SIG_CHILD,
  104.      /* SIGTTIN */    SIG_TTY_INPUT,
  105.      /* SIGTTOU */    SIG_TTY_OUTPUT,
  106.      /* SIGIO */    SIG_IO_READY,
  107.      /* SIGXCPU */    NULL,
  108.      /* SIGXFSZ */    NULL,
  109.      /* SIGVTALRM */    NULL,
  110.      /* SIGPROF */    NULL,
  111.      /* SIGWINCH */    SIG_WINDOW_CHANGE,
  112.      /* SIGMIGHOME */    SIG_MIGRATE_HOME,
  113.      /* SIGUSR1 */    SIG_USER1,    /* user-defined signal 1 */
  114.      /* SIGUSR2 */    SIG_USER2,    /* user-defined signal 1 */
  115.      /* NULL */        32,    /* not a signal, but NSIG is 32 so we need
  116.                          an entry here. */
  117. };
  118.  
  119. /*
  120.  * Map Sprite signals to Unix signals.
  121.  */
  122. static int spriteToUnix[] = {
  123.                 NULL,
  124.     /* SIG_DEBUG */        SIGDEBUG,
  125.     /* SIG_ARITH_FAULT */    SIGFPE,
  126.     /* SIG_ILL_INST */        SIGILL,
  127.     /* SIG_ADDR_FAULT */    SIGSEGV,
  128.     /* SIG_KILL */        SIGKILL,
  129.     /* SIG_INTERRUPT */        SIGINT,
  130.     /* SIG_BREAKPOINT */    SIGILL,
  131.     /* SIG_TRACE_TRAP */    SIGILL,
  132.     /* SIG_MIGRATE_TRAP */    SIGMIG,
  133.     /* SIG_MIGRATE_HOME */    SIGMIGHOME,
  134.     /* SIG_SUSPEND */        SIGSTOP,
  135.     /* SIG_RESUME */        SIGCONT,
  136.     /* SIG_TTY_INPUT */        SIGTTIN,
  137.     /* SIG_PIPE */        SIGPIPE,
  138.     /* SIG_TIMER */        SIGALRM,
  139.     /* SIG_URGENT */        SIGURG,
  140.     /* SIG_CHILD */        SIGCHLD,
  141.     /* SIG_TERM */        SIGTERM,
  142.     /* SIG_TTY_SUSPEND */    SIGTSTP,
  143.     /* SIG_TTY_OUTPUT */    SIGTTOU,
  144.     /* 21 */            NULL,
  145.     /* 22 */            NULL,
  146.     /* 23 */            NULL,
  147.     /* 24 */            NULL,
  148.     /* 25 */             NULL,
  149.     /* SIG_IO_READY */        SIGIO,
  150.     /* SIG_WINDOW_CHANGE */    SIGWINCH,
  151.     /* SIG_IOT */        SIGIOT,
  152.     /* SIG_EMT */        SIGEMT,
  153.     /* SIG_USER1 */        SIGUSR1,
  154.     /* SIG_USER2 */        SIGUSR2,
  155.     /* 32 */            NULL,
  156. };
  157.  
  158.  
  159. #endif
  160. @
  161.  
  162.  
  163. 1.3
  164. log
  165. @accept signal number 32 with a NULL mapping, rather than returning errors.
  166. @
  167. text
  168. @d17 1
  169. a17 1
  170.  * $Compat: proto.h,v 1.3 86/02/14 09:47:40 ouster Exp $ SPRITE (Berkeley)
  171. d23 2
  172. a24 1
  173. #include "sprite.h"
  174. d46 2
  175. a47 2
  176.      /* SIGIOT */    28,
  177.      /* SIGEMT */    29,
  178. d63 1
  179. a63 1
  180.      /* SIGIO */    26,
  181. d68 1
  182. a68 1
  183.      /* SIGWINCH */    27,
  184. d70 2
  185. a71 2
  186.      /* SIGUSR1 */    30,    /* user-defined signal 1 */
  187.      /* SIGUSR2 */    31,    /* user-defined signal 1 */
  188. d106 6
  189. a111 6
  190.     /* 26 */            SIGIO,
  191.     /* 27 */            SIGWINCH,
  192.     /* 28 */            SIGIOT,
  193.     /* 29 */            SIGEMT,
  194.     /* 30 */            SIGUSR1,
  195.     /* 31 */            SIGUSR2,
  196. @
  197.  
  198.  
  199. 1.3.1.1
  200. log
  201. @Initial branch for Sprite server.
  202. @
  203. text
  204. @@
  205.  
  206.  
  207. 1.2
  208. log
  209. @Support SIGWINCH and SIGIO
  210. @
  211. text
  212. @d71 2
  213. d111 1
  214. a113 1
  215. static int numSignals = 31;
  216. @
  217.  
  218.  
  219. 1.1
  220. log
  221. @Initial revision
  222. @
  223. text
  224. @d62 1
  225. a62 1
  226.      /* SIGIO */    NULL,
  227. d67 1
  228. a67 1
  229.      /* SIGWINCH */    NULL,
  230. d103 2
  231. a104 2
  232.     /* 26 */            NULL,
  233.     /* 27 */            NULL,
  234. @
  235.